Analysis of the matrix elements of the Anderson model

Testing the code implementation of the matrix analysis of the Anderson model

In this notebook, we sketch the usage of the code needed in the analysis of the matrix elements of the Anderson model.

Construct the Hamiltonian

For representation purposes, we limit ourselves to a rather small lattice size in the 3-dimensional case.

Calculating nnz, o_nnz, d_nnz!
Calculating nnz, o_nnz, d_nnz finished!
Text(0.5, 1.1, '3D, $L=10$, imaginary part of the array, $W=12.0$')

Diagonalization, find eigenvalues, eigenvectors and matrix elements

Explanation

To extract the array of the matrix elements between eigenstates for the $\hat{n}_i = \hat{c}_i^\dagger\hat{c}_i$ operator at $i$-th site, we first need to extract the $i$-th row of the eigenvector arrays, since the eigenvectors are given as the columns of the said array as per scipy documentation. To obtain the array, we perform a tensor product operation. In our case, we select our site to be located at the center of the array.

Operators to be calculated:

Local density

$\langle \alpha|\hat{n}_i|\beta\rangle =\langle 0 |\sum_{j,k} \tilde{\alpha}^*_j\tilde{\beta}_k \hat{c}_j\hat{n}_i\hat{c}_k^\dagger|0\rangle = \tilde{\alpha}_i^*\tilde{\beta}_i$

Hopping

To obtain the hopping matrix elements, we also extract the $i+m$ row of the eigenvector array. We then take the tensor product of the $i$-th and $(i+m)$-th row and add its conjugate (we also need to ensure all the conjugations in the tensor product are accounted for).

$\langle \alpha|\hat{h}_i^{(m)}|\beta\rangle = \langle \alpha|\hat{c}_i^\dagger\hat{c}_{i+m} + \hat{c}_{i+m}^\dagger\hat{c}_i|\beta\rangle = \tilde{\alpha}^*_{i}\tilde{\beta}_{i+m} + \tilde{\alpha}_{i+m}^*\tilde{\beta}_i$

Your selected density operator acts on the site: [15 15]
Site on which the  density operator acts corresponds to the basis state with index 465
Hoppings relate basis states 465 and 435

Densities

Text(0, 0.5, '$\\alpha$')

Hoppings

Text(0, 0.5, '$\\alpha$')

Wavefunctions in the central plane

Here, we provide two animations showing the eigenfunctions for the 2D model in the low and high disorder cases. Each frame in the corresponding animations displays one eigenfunction.

Calculating nnz, o_nnz, d_nnz!
Calculating nnz, o_nnz, d_nnz finished!
Calculating nnz, o_nnz, d_nnz!
Calculating nnz, o_nnz, d_nnz finished!